// $ANTLR 3.2 Sep 23, 2009 12:02:23 U:\\moxen\\projects\\Stijl\\trunk\\Open.Web.Stijl\\Css3.g 2010-12-01 00:03:23

// The variable 'variable' is assigned but its value is never used.
#pragma warning disable 168, 219
// Unreachable code detected.
#pragma warning disable 162


using System;
using Antlr.Runtime;
using IList 		= System.Collections.IList;
using ArrayList 	= System.Collections.ArrayList;
using Stack 		= Antlr.Runtime.Collections.StackList;


namespace  Open.Web.Stijl.Parsing 
{
public partial class Css3Lexer : Lexer {
    public const int T__29 = 29;
    public const int T__28 = 28;
    public const int T__27 = 27;
    public const int BEGINSWITH = 6;
    public const int T__26 = 26;
    public const int T__25 = 25;
    public const int T__24 = 24;
    public const int HASVALUE = 5;
    public const int T__23 = 23;
    public const int T__22 = 22;
    public const int T__21 = 21;
    public const int T__20 = 20;
    public const int EOF = -1;
    public const int ATTRIBEQUAL = 4;
    public const int T__30 = 30;
    public const int T__19 = 19;
    public const int T__16 = 16;
    public const int WS = 9;
    public const int T__15 = 15;
    public const int T__18 = 18;
    public const int T__17 = 17;
    public const int T__12 = 12;
    public const int T__14 = 14;
    public const int T__13 = 13;
    public const int SL_COMMENT = 10;
    public const int IDENT = 7;
    public const int COMMENT = 11;
    public const int STRING = 8;

    // delegates
    // delegators

    public Css3Lexer() 
    {
		InitializeCyclicDFAs();
    }
    public Css3Lexer(ICharStream input)
		: this(input, null) {
    }
    public Css3Lexer(ICharStream input, RecognizerSharedState state)
		: base(input, state) {
		InitializeCyclicDFAs(); 

    }
    
    override public string GrammarFileName
    {
    	get { return "U:\\moxen\\projects\\Stijl\\trunk\\Open.Web.Stijl\\Css3.g";} 
    }

    // $ANTLR start "T__12"
    public void mT__12() // throws RecognitionException [2]
    {
    		try
    		{
            int _type = T__12;
    	int _channel = DEFAULT_TOKEN_CHANNEL;
            // U:\\moxen\\projects\\Stijl\\trunk\\Open.Web.Stijl\\Css3.g:9:7: ( '@import' )
            // U:\\moxen\\projects\\Stijl\\trunk\\Open.Web.Stijl\\Css3.g:9:9: '@import'
            {
            	Match("@import"); 


            }

            state.type = _type;
            state.channel = _channel;
        }
        finally 
    	{
        }
    }
    // $ANTLR end "T__12"

    // $ANTLR start "T__13"
    public void mT__13() // throws RecognitionException [2]
    {
    		try
    		{
            int _type = T__13;
    	int _channel = DEFAULT_TOKEN_CHANNEL;
            // U:\\moxen\\projects\\Stijl\\trunk\\Open.Web.Stijl\\Css3.g:10:7: ( '@include' )
            // U:\\moxen\\projects\\Stijl\\trunk\\Open.Web.Stijl\\Css3.g:10:9: '@include'
            {
            	Match("@include"); 


            }

            state.type = _type;
            state.channel = _channel;
        }
        finally 
    	{
        }
    }
    // $ANTLR end "T__13"

    // $ANTLR start "T__14"
    public void mT__14() // throws RecognitionException [2]
    {
    		try
    		{
            int _type = T__14;
    	int _channel = DEFAULT_TOKEN_CHANNEL;
            // U:\\moxen\\projects\\Stijl\\trunk\\Open.Web.Stijl\\Css3.g:11:7: ( ';' )
            // U:\\moxen\\projects\\Stijl\\trunk\\Open.Web.Stijl\\Css3.g:11:9: ';'
            {
            	Match(';'); 

            }

            state.type = _type;
            state.channel = _channel;
        }
        finally 
    	{
        }
    }
    // $ANTLR end "T__14"

    // $ANTLR start "T__15"
    public void mT__15() // throws RecognitionException [2]
    {
    		try
    		{
            int _type = T__15;
    	int _channel = DEFAULT_TOKEN_CHANNEL;
            // U:\\moxen\\projects\\Stijl\\trunk\\Open.Web.Stijl\\Css3.g:12:7: ( '@media' )
            // U:\\moxen\\projects\\Stijl\\trunk\\Open.Web.Stijl\\Css3.g:12:9: '@media'
            {
            	Match("@media"); 


            }

            state.type = _type;
            state.channel = _channel;
        }
        finally 
    	{
        }
    }
    // $ANTLR end "T__15"

    // $ANTLR start "T__16"
    public void mT__16() // throws RecognitionException [2]
    {
    		try
    		{
            int _type = T__16;
    	int _channel = DEFAULT_TOKEN_CHANNEL;
            // U:\\moxen\\projects\\Stijl\\trunk\\Open.Web.Stijl\\Css3.g:13:7: ( '{' )
            // U:\\moxen\\projects\\Stijl\\trunk\\Open.Web.Stijl\\Css3.g:13:9: '{'
            {
            	Match('{'); 

            }

            state.type = _type;
            state.channel = _channel;
        }
        finally 
    	{
        }
    }
    // $ANTLR end "T__16"

    // $ANTLR start "T__17"
    public void mT__17() // throws RecognitionException [2]
    {
    		try
    		{
            int _type = T__17;
    	int _channel = DEFAULT_TOKEN_CHANNEL;
            // U:\\moxen\\projects\\Stijl\\trunk\\Open.Web.Stijl\\Css3.g:14:7: ( '}' )
            // U:\\moxen\\projects\\Stijl\\trunk\\Open.Web.Stijl\\Css3.g:14:9: '}'
            {
            	Match('}'); 

            }

            state.type = _type;
            state.channel = _channel;
        }
        finally 
    	{
        }
    }
    // $ANTLR end "T__17"

    // $ANTLR start "T__18"
    public void mT__18() // throws RecognitionException [2]
    {
    		try
    		{
            int _type = T__18;
    	int _channel = DEFAULT_TOKEN_CHANNEL;
            // U:\\moxen\\projects\\Stijl\\trunk\\Open.Web.Stijl\\Css3.g:15:7: ( ',' )
            // U:\\moxen\\projects\\Stijl\\trunk\\Open.Web.Stijl\\Css3.g:15:9: ','
            {
            	Match(','); 

            }

            state.type = _type;
            state.channel = _channel;
        }
        finally 
    	{
        }
    }
    // $ANTLR end "T__18"

    // $ANTLR start "T__19"
    public void mT__19() // throws RecognitionException [2]
    {
    		try
    		{
            int _type = T__19;
    	int _channel = DEFAULT_TOKEN_CHANNEL;
            // U:\\moxen\\projects\\Stijl\\trunk\\Open.Web.Stijl\\Css3.g:16:7: ( '@' )
            // U:\\moxen\\projects\\Stijl\\trunk\\Open.Web.Stijl\\Css3.g:16:9: '@'
            {
            	Match('@'); 

            }

            state.type = _type;
            state.channel = _channel;
        }
        finally 
    	{
        }
    }
    // $ANTLR end "T__19"

    // $ANTLR start "T__20"
    public void mT__20() // throws RecognitionException [2]
    {
    		try
    		{
            int _type = T__20;
    	int _channel = DEFAULT_TOKEN_CHANNEL;
            // U:\\moxen\\projects\\Stijl\\trunk\\Open.Web.Stijl\\Css3.g:17:7: ( ':' )
            // U:\\moxen\\projects\\Stijl\\trunk\\Open.Web.Stijl\\Css3.g:17:9: ':'
            {
            	Match(':'); 

            }

            state.type = _type;
            state.channel = _channel;
        }
        finally 
    	{
        }
    }
    // $ANTLR end "T__20"

    // $ANTLR start "T__21"
    public void mT__21() // throws RecognitionException [2]
    {
    		try
    		{
            int _type = T__21;
    	int _channel = DEFAULT_TOKEN_CHANNEL;
            // U:\\moxen\\projects\\Stijl\\trunk\\Open.Web.Stijl\\Css3.g:18:7: ( '::' )
            // U:\\moxen\\projects\\Stijl\\trunk\\Open.Web.Stijl\\Css3.g:18:9: '::'
            {
            	Match("::"); 


            }

            state.type = _type;
            state.channel = _channel;
        }
        finally 
    	{
        }
    }
    // $ANTLR end "T__21"

    // $ANTLR start "T__22"
    public void mT__22() // throws RecognitionException [2]
    {
    		try
    		{
            int _type = T__22;
    	int _channel = DEFAULT_TOKEN_CHANNEL;
            // U:\\moxen\\projects\\Stijl\\trunk\\Open.Web.Stijl\\Css3.g:19:7: ( '>' )
            // U:\\moxen\\projects\\Stijl\\trunk\\Open.Web.Stijl\\Css3.g:19:9: '>'
            {
            	Match('>'); 

            }

            state.type = _type;
            state.channel = _channel;
        }
        finally 
    	{
        }
    }
    // $ANTLR end "T__22"

    // $ANTLR start "T__23"
    public void mT__23() // throws RecognitionException [2]
    {
    		try
    		{
            int _type = T__23;
    	int _channel = DEFAULT_TOKEN_CHANNEL;
            // U:\\moxen\\projects\\Stijl\\trunk\\Open.Web.Stijl\\Css3.g:20:7: ( '+' )
            // U:\\moxen\\projects\\Stijl\\trunk\\Open.Web.Stijl\\Css3.g:20:9: '+'
            {
            	Match('+'); 

            }

            state.type = _type;
            state.channel = _channel;
        }
        finally 
    	{
        }
    }
    // $ANTLR end "T__23"

    // $ANTLR start "T__24"
    public void mT__24() // throws RecognitionException [2]
    {
    		try
    		{
            int _type = T__24;
    	int _channel = DEFAULT_TOKEN_CHANNEL;
            // U:\\moxen\\projects\\Stijl\\trunk\\Open.Web.Stijl\\Css3.g:21:7: ( '[' )
            // U:\\moxen\\projects\\Stijl\\trunk\\Open.Web.Stijl\\Css3.g:21:9: '['
            {
            	Match('['); 

            }

            state.type = _type;
            state.channel = _channel;
        }
        finally 
    	{
        }
    }
    // $ANTLR end "T__24"

    // $ANTLR start "T__25"
    public void mT__25() // throws RecognitionException [2]
    {
    		try
    		{
            int _type = T__25;
    	int _channel = DEFAULT_TOKEN_CHANNEL;
            // U:\\moxen\\projects\\Stijl\\trunk\\Open.Web.Stijl\\Css3.g:22:7: ( ']' )
            // U:\\moxen\\projects\\Stijl\\trunk\\Open.Web.Stijl\\Css3.g:22:9: ']'
            {
            	Match(']'); 

            }

            state.type = _type;
            state.channel = _channel;
        }
        finally 
    	{
        }
    }
    // $ANTLR end "T__25"

    // $ANTLR start "T__26"
    public void mT__26() // throws RecognitionException [2]
    {
    		try
    		{
            int _type = T__26;
    	int _channel = DEFAULT_TOKEN_CHANNEL;
            // U:\\moxen\\projects\\Stijl\\trunk\\Open.Web.Stijl\\Css3.g:23:7: ( '=' )
            // U:\\moxen\\projects\\Stijl\\trunk\\Open.Web.Stijl\\Css3.g:23:9: '='
            {
            	Match('='); 

            }

            state.type = _type;
            state.channel = _channel;
        }
        finally 
    	{
        }
    }
    // $ANTLR end "T__26"

    // $ANTLR start "T__27"
    public void mT__27() // throws RecognitionException [2]
    {
    		try
    		{
            int _type = T__27;
    	int _channel = DEFAULT_TOKEN_CHANNEL;
            // U:\\moxen\\projects\\Stijl\\trunk\\Open.Web.Stijl\\Css3.g:24:7: ( '~=' )
            // U:\\moxen\\projects\\Stijl\\trunk\\Open.Web.Stijl\\Css3.g:24:9: '~='
            {
            	Match("~="); 


            }

            state.type = _type;
            state.channel = _channel;
        }
        finally 
    	{
        }
    }
    // $ANTLR end "T__27"

    // $ANTLR start "T__28"
    public void mT__28() // throws RecognitionException [2]
    {
    		try
    		{
            int _type = T__28;
    	int _channel = DEFAULT_TOKEN_CHANNEL;
            // U:\\moxen\\projects\\Stijl\\trunk\\Open.Web.Stijl\\Css3.g:25:7: ( '|=' )
            // U:\\moxen\\projects\\Stijl\\trunk\\Open.Web.Stijl\\Css3.g:25:9: '|='
            {
            	Match("|="); 


            }

            state.type = _type;
            state.channel = _channel;
        }
        finally 
    	{
        }
    }
    // $ANTLR end "T__28"

    // $ANTLR start "T__29"
    public void mT__29() // throws RecognitionException [2]
    {
    		try
    		{
            int _type = T__29;
    	int _channel = DEFAULT_TOKEN_CHANNEL;
            // U:\\moxen\\projects\\Stijl\\trunk\\Open.Web.Stijl\\Css3.g:26:7: ( '(' )
            // U:\\moxen\\projects\\Stijl\\trunk\\Open.Web.Stijl\\Css3.g:26:9: '('
            {
            	Match('('); 

            }

            state.type = _type;
            state.channel = _channel;
        }
        finally 
    	{
        }
    }
    // $ANTLR end "T__29"

    // $ANTLR start "T__30"
    public void mT__30() // throws RecognitionException [2]
    {
    		try
    		{
            int _type = T__30;
    	int _channel = DEFAULT_TOKEN_CHANNEL;
            // U:\\moxen\\projects\\Stijl\\trunk\\Open.Web.Stijl\\Css3.g:27:7: ( ')' )
            // U:\\moxen\\projects\\Stijl\\trunk\\Open.Web.Stijl\\Css3.g:27:9: ')'
            {
            	Match(')'); 

            }

            state.type = _type;
            state.channel = _channel;
        }
        finally 
    	{
        }
    }
    // $ANTLR end "T__30"

    // $ANTLR start "IDENT"
    public void mIDENT() // throws RecognitionException [2]
    {
    		try
    		{
            int _type = IDENT;
    	int _channel = DEFAULT_TOKEN_CHANNEL;
            // U:\\moxen\\projects\\Stijl\\trunk\\Open.Web.Stijl\\Css3.g:208:2: ( ( '_' | '0' .. '9' | 'a' .. 'z' | 'A' .. 'Z' | '\\u0100' .. '\\ufffe' | '#' | '.' | '/' | '%' | '!' ) ( '_' | '-' | '0' .. '9' | 'a' .. 'z' | 'A' .. 'Z' | '\\u0100' .. '\\ufffe' | '0' .. '9' | '#' | '.' | '/' | '%' | '!' )* | '-' ( '_' | '0' .. '9' | 'a' .. 'z' | 'A' .. 'Z' | '\\u0100' .. '\\ufffe' | '#' | '.' | '/' | '%' | '!' ) ( '_' | '-' | '0' .. '9' | 'a' .. 'z' | 'A' .. 'Z' | '\\u0100' .. '\\ufffe' | '0' .. '9' | '#' | '.' | '/' | '%' | '!' )* )
            int alt3 = 2;
            int LA3_0 = input.LA(1);

            if ( (LA3_0 == '!' || LA3_0 == '#' || LA3_0 == '%' || (LA3_0 >= '.' && LA3_0 <= '9') || (LA3_0 >= 'A' && LA3_0 <= 'Z') || LA3_0 == '_' || (LA3_0 >= 'a' && LA3_0 <= 'z') || (LA3_0 >= '\u0100' && LA3_0 <= '\uFFFE')) )
            {
                alt3 = 1;
            }
            else if ( (LA3_0 == '-') )
            {
                alt3 = 2;
            }
            else 
            {
                NoViableAltException nvae_d3s0 =
                    new NoViableAltException("", 3, 0, input);

                throw nvae_d3s0;
            }
            switch (alt3) 
            {
                case 1 :
                    // U:\\moxen\\projects\\Stijl\\trunk\\Open.Web.Stijl\\Css3.g:208:4: ( '_' | '0' .. '9' | 'a' .. 'z' | 'A' .. 'Z' | '\\u0100' .. '\\ufffe' | '#' | '.' | '/' | '%' | '!' ) ( '_' | '-' | '0' .. '9' | 'a' .. 'z' | 'A' .. 'Z' | '\\u0100' .. '\\ufffe' | '0' .. '9' | '#' | '.' | '/' | '%' | '!' )*
                    {
                    	if ( input.LA(1) == '!' || input.LA(1) == '#' || input.LA(1) == '%' || (input.LA(1) >= '.' && input.LA(1) <= '9') || (input.LA(1) >= 'A' && input.LA(1) <= 'Z') || input.LA(1) == '_' || (input.LA(1) >= 'a' && input.LA(1) <= 'z') || (input.LA(1) >= '\u0100' && input.LA(1) <= '\uFFFE') ) 
                    	{
                    	    input.Consume();

                    	}
                    	else 
                    	{
                    	    MismatchedSetException mse = new MismatchedSetException(null,input);
                    	    Recover(mse);
                    	    throw mse;}

                    	// U:\\moxen\\projects\\Stijl\\trunk\\Open.Web.Stijl\\Css3.g:209:3: ( '_' | '-' | '0' .. '9' | 'a' .. 'z' | 'A' .. 'Z' | '\\u0100' .. '\\ufffe' | '0' .. '9' | '#' | '.' | '/' | '%' | '!' )*
                    	do 
                    	{
                    	    int alt1 = 2;
                    	    int LA1_0 = input.LA(1);

                    	    if ( (LA1_0 == '!' || LA1_0 == '#' || LA1_0 == '%' || (LA1_0 >= '-' && LA1_0 <= '9') || (LA1_0 >= 'A' && LA1_0 <= 'Z') || LA1_0 == '_' || (LA1_0 >= 'a' && LA1_0 <= 'z') || (LA1_0 >= '\u0100' && LA1_0 <= '\uFFFE')) )
                    	    {
                    	        alt1 = 1;
                    	    }


                    	    switch (alt1) 
                    		{
                    			case 1 :
                    			    // U:\\moxen\\projects\\Stijl\\trunk\\Open.Web.Stijl\\Css3.g:
                    			    {
                    			    	if ( input.LA(1) == '!' || input.LA(1) == '#' || input.LA(1) == '%' || (input.LA(1) >= '-' && input.LA(1) <= '9') || (input.LA(1) >= 'A' && input.LA(1) <= 'Z') || input.LA(1) == '_' || (input.LA(1) >= 'a' && input.LA(1) <= 'z') || (input.LA(1) >= '\u0100' && input.LA(1) <= '\uFFFE') ) 
                    			    	{
                    			    	    input.Consume();

                    			    	}
                    			    	else 
                    			    	{
                    			    	    MismatchedSetException mse = new MismatchedSetException(null,input);
                    			    	    Recover(mse);
                    			    	    throw mse;}


                    			    }
                    			    break;

                    			default:
                    			    goto loop1;
                    	    }
                    	} while (true);

                    	loop1:
                    		;	// Stops C# compiler whining that label 'loop1' has no statements


                    }
                    break;
                case 2 :
                    // U:\\moxen\\projects\\Stijl\\trunk\\Open.Web.Stijl\\Css3.g:210:4: '-' ( '_' | '0' .. '9' | 'a' .. 'z' | 'A' .. 'Z' | '\\u0100' .. '\\ufffe' | '#' | '.' | '/' | '%' | '!' ) ( '_' | '-' | '0' .. '9' | 'a' .. 'z' | 'A' .. 'Z' | '\\u0100' .. '\\ufffe' | '0' .. '9' | '#' | '.' | '/' | '%' | '!' )*
                    {
                    	Match('-'); 
                    	if ( input.LA(1) == '!' || input.LA(1) == '#' || input.LA(1) == '%' || (input.LA(1) >= '.' && input.LA(1) <= '9') || (input.LA(1) >= 'A' && input.LA(1) <= 'Z') || input.LA(1) == '_' || (input.LA(1) >= 'a' && input.LA(1) <= 'z') || (input.LA(1) >= '\u0100' && input.LA(1) <= '\uFFFE') ) 
                    	{
                    	    input.Consume();

                    	}
                    	else 
                    	{
                    	    MismatchedSetException mse = new MismatchedSetException(null,input);
                    	    Recover(mse);
                    	    throw mse;}

                    	// U:\\moxen\\projects\\Stijl\\trunk\\Open.Web.Stijl\\Css3.g:211:3: ( '_' | '-' | '0' .. '9' | 'a' .. 'z' | 'A' .. 'Z' | '\\u0100' .. '\\ufffe' | '0' .. '9' | '#' | '.' | '/' | '%' | '!' )*
                    	do 
                    	{
                    	    int alt2 = 2;
                    	    int LA2_0 = input.LA(1);

                    	    if ( (LA2_0 == '!' || LA2_0 == '#' || LA2_0 == '%' || (LA2_0 >= '-' && LA2_0 <= '9') || (LA2_0 >= 'A' && LA2_0 <= 'Z') || LA2_0 == '_' || (LA2_0 >= 'a' && LA2_0 <= 'z') || (LA2_0 >= '\u0100' && LA2_0 <= '\uFFFE')) )
                    	    {
                    	        alt2 = 1;
                    	    }


                    	    switch (alt2) 
                    		{
                    			case 1 :
                    			    // U:\\moxen\\projects\\Stijl\\trunk\\Open.Web.Stijl\\Css3.g:
                    			    {
                    			    	if ( input.LA(1) == '!' || input.LA(1) == '#' || input.LA(1) == '%' || (input.LA(1) >= '-' && input.LA(1) <= '9') || (input.LA(1) >= 'A' && input.LA(1) <= 'Z') || input.LA(1) == '_' || (input.LA(1) >= 'a' && input.LA(1) <= 'z') || (input.LA(1) >= '\u0100' && input.LA(1) <= '\uFFFE') ) 
                    			    	{
                    			    	    input.Consume();

                    			    	}
                    			    	else 
                    			    	{
                    			    	    MismatchedSetException mse = new MismatchedSetException(null,input);
                    			    	    Recover(mse);
                    			    	    throw mse;}


                    			    }
                    			    break;

                    			default:
                    			    goto loop2;
                    	    }
                    	} while (true);

                    	loop2:
                    		;	// Stops C# compiler whining that label 'loop2' has no statements


                    }
                    break;

            }
            state.type = _type;
            state.channel = _channel;
        }
        finally 
    	{
        }
    }
    // $ANTLR end "IDENT"

    // $ANTLR start "STRING"
    public void mSTRING() // throws RecognitionException [2]
    {
    		try
    		{
            int _type = STRING;
    	int _channel = DEFAULT_TOKEN_CHANNEL;
            // U:\\moxen\\projects\\Stijl\\trunk\\Open.Web.Stijl\\Css3.g:217:2: ( '\"' (~ ( '\"' | '\\n' | '\\r' ) | '\\\\\\\"' )* '\"' | '\\'' (~ ( '\\'' | '\\n' | '\\r' ) | '\\\\\\'' )* '\\'' )
            int alt6 = 2;
            int LA6_0 = input.LA(1);

            if ( (LA6_0 == '\"') )
            {
                alt6 = 1;
            }
            else if ( (LA6_0 == '\'') )
            {
                alt6 = 2;
            }
            else 
            {
                NoViableAltException nvae_d6s0 =
                    new NoViableAltException("", 6, 0, input);

                throw nvae_d6s0;
            }
            switch (alt6) 
            {
                case 1 :
                    // U:\\moxen\\projects\\Stijl\\trunk\\Open.Web.Stijl\\Css3.g:217:4: '\"' (~ ( '\"' | '\\n' | '\\r' ) | '\\\\\\\"' )* '\"'
                    {
                    	Match('\"'); 
                    	// U:\\moxen\\projects\\Stijl\\trunk\\Open.Web.Stijl\\Css3.g:217:8: (~ ( '\"' | '\\n' | '\\r' ) | '\\\\\\\"' )*
                    	do 
                    	{
                    	    int alt4 = 3;
                    	    int LA4_0 = input.LA(1);

                    	    if ( (LA4_0 == '\\') )
                    	    {
                    	        int LA4_2 = input.LA(2);

                    	        if ( (LA4_2 == '\"') )
                    	        {
                    	            int LA4_4 = input.LA(3);

                    	            if ( ((LA4_4 >= '\u0000' && LA4_4 <= '\t') || (LA4_4 >= '\u000B' && LA4_4 <= '\f') || (LA4_4 >= '\u000E' && LA4_4 <= '\uFFFF')) )
                    	            {
                    	                alt4 = 2;
                    	            }

                    	            else 
                    	            {
                    	                alt4 = 1;
                    	            }

                    	        }
                    	        else if ( ((LA4_2 >= '\u0000' && LA4_2 <= '\t') || (LA4_2 >= '\u000B' && LA4_2 <= '\f') || (LA4_2 >= '\u000E' && LA4_2 <= '!') || (LA4_2 >= '#' && LA4_2 <= '\uFFFF')) )
                    	        {
                    	            alt4 = 1;
                    	        }


                    	    }
                    	    else if ( ((LA4_0 >= '\u0000' && LA4_0 <= '\t') || (LA4_0 >= '\u000B' && LA4_0 <= '\f') || (LA4_0 >= '\u000E' && LA4_0 <= '!') || (LA4_0 >= '#' && LA4_0 <= '[') || (LA4_0 >= ']' && LA4_0 <= '\uFFFF')) )
                    	    {
                    	        alt4 = 1;
                    	    }


                    	    switch (alt4) 
                    		{
                    			case 1 :
                    			    // U:\\moxen\\projects\\Stijl\\trunk\\Open.Web.Stijl\\Css3.g:217:9: ~ ( '\"' | '\\n' | '\\r' )
                    			    {
                    			    	if ( (input.LA(1) >= '\u0000' && input.LA(1) <= '\t') || (input.LA(1) >= '\u000B' && input.LA(1) <= '\f') || (input.LA(1) >= '\u000E' && input.LA(1) <= '!') || (input.LA(1) >= '#' && input.LA(1) <= '\uFFFF') ) 
                    			    	{
                    			    	    input.Consume();

                    			    	}
                    			    	else 
                    			    	{
                    			    	    MismatchedSetException mse = new MismatchedSetException(null,input);
                    			    	    Recover(mse);
                    			    	    throw mse;}


                    			    }
                    			    break;
                    			case 2 :
                    			    // U:\\moxen\\projects\\Stijl\\trunk\\Open.Web.Stijl\\Css3.g:217:26: '\\\\\\\"'
                    			    {
                    			    	Match("\\\""); 


                    			    }
                    			    break;

                    			default:
                    			    goto loop4;
                    	    }
                    	} while (true);

                    	loop4:
                    		;	// Stops C# compiler whining that label 'loop4' has no statements

                    	Match('\"'); 

                    }
                    break;
                case 2 :
                    // U:\\moxen\\projects\\Stijl\\trunk\\Open.Web.Stijl\\Css3.g:218:4: '\\'' (~ ( '\\'' | '\\n' | '\\r' ) | '\\\\\\'' )* '\\''
                    {
                    	Match('\''); 
                    	// U:\\moxen\\projects\\Stijl\\trunk\\Open.Web.Stijl\\Css3.g:218:9: (~ ( '\\'' | '\\n' | '\\r' ) | '\\\\\\'' )*
                    	do 
                    	{
                    	    int alt5 = 3;
                    	    int LA5_0 = input.LA(1);

                    	    if ( (LA5_0 == '\\') )
                    	    {
                    	        int LA5_2 = input.LA(2);

                    	        if ( (LA5_2 == '\'') )
                    	        {
                    	            int LA5_4 = input.LA(3);

                    	            if ( ((LA5_4 >= '\u0000' && LA5_4 <= '\t') || (LA5_4 >= '\u000B' && LA5_4 <= '\f') || (LA5_4 >= '\u000E' && LA5_4 <= '\uFFFF')) )
                    	            {
                    	                alt5 = 2;
                    	            }

                    	            else 
                    	            {
                    	                alt5 = 1;
                    	            }

                    	        }
                    	        else if ( ((LA5_2 >= '\u0000' && LA5_2 <= '\t') || (LA5_2 >= '\u000B' && LA5_2 <= '\f') || (LA5_2 >= '\u000E' && LA5_2 <= '&') || (LA5_2 >= '(' && LA5_2 <= '\uFFFF')) )
                    	        {
                    	            alt5 = 1;
                    	        }


                    	    }
                    	    else if ( ((LA5_0 >= '\u0000' && LA5_0 <= '\t') || (LA5_0 >= '\u000B' && LA5_0 <= '\f') || (LA5_0 >= '\u000E' && LA5_0 <= '&') || (LA5_0 >= '(' && LA5_0 <= '[') || (LA5_0 >= ']' && LA5_0 <= '\uFFFF')) )
                    	    {
                    	        alt5 = 1;
                    	    }


                    	    switch (alt5) 
                    		{
                    			case 1 :
                    			    // U:\\moxen\\projects\\Stijl\\trunk\\Open.Web.Stijl\\Css3.g:218:10: ~ ( '\\'' | '\\n' | '\\r' )
                    			    {
                    			    	if ( (input.LA(1) >= '\u0000' && input.LA(1) <= '\t') || (input.LA(1) >= '\u000B' && input.LA(1) <= '\f') || (input.LA(1) >= '\u000E' && input.LA(1) <= '&') || (input.LA(1) >= '(' && input.LA(1) <= '\uFFFF') ) 
                    			    	{
                    			    	    input.Consume();

                    			    	}
                    			    	else 
                    			    	{
                    			    	    MismatchedSetException mse = new MismatchedSetException(null,input);
                    			    	    Recover(mse);
                    			    	    throw mse;}


                    			    }
                    			    break;
                    			case 2 :
                    			    // U:\\moxen\\projects\\Stijl\\trunk\\Open.Web.Stijl\\Css3.g:218:28: '\\\\\\''
                    			    {
                    			    	Match("\\'"); 


                    			    }
                    			    break;

                    			default:
                    			    goto loop5;
                    	    }
                    	} while (true);

                    	loop5:
                    		;	// Stops C# compiler whining that label 'loop5' has no statements

                    	Match('\''); 

                    }
                    break;

            }
            state.type = _type;
            state.channel = _channel;
        }
        finally 
    	{
        }
    }
    // $ANTLR end "STRING"

    // $ANTLR start "WS"
    public void mWS() // throws RecognitionException [2]
    {
    		try
    		{
            int _type = WS;
    	int _channel = DEFAULT_TOKEN_CHANNEL;
            // U:\\moxen\\projects\\Stijl\\trunk\\Open.Web.Stijl\\Css3.g:222:4: ( ( ' ' | '\\t' | '\\r' | '\\n' | '\\f' )+ )
            // U:\\moxen\\projects\\Stijl\\trunk\\Open.Web.Stijl\\Css3.g:222:6: ( ' ' | '\\t' | '\\r' | '\\n' | '\\f' )+
            {
            	// U:\\moxen\\projects\\Stijl\\trunk\\Open.Web.Stijl\\Css3.g:222:6: ( ' ' | '\\t' | '\\r' | '\\n' | '\\f' )+
            	int cnt7 = 0;
            	do 
            	{
            	    int alt7 = 2;
            	    int LA7_0 = input.LA(1);

            	    if ( ((LA7_0 >= '\t' && LA7_0 <= '\n') || (LA7_0 >= '\f' && LA7_0 <= '\r') || LA7_0 == ' ') )
            	    {
            	        alt7 = 1;
            	    }


            	    switch (alt7) 
            		{
            			case 1 :
            			    // U:\\moxen\\projects\\Stijl\\trunk\\Open.Web.Stijl\\Css3.g:
            			    {
            			    	if ( (input.LA(1) >= '\t' && input.LA(1) <= '\n') || (input.LA(1) >= '\f' && input.LA(1) <= '\r') || input.LA(1) == ' ' ) 
            			    	{
            			    	    input.Consume();

            			    	}
            			    	else 
            			    	{
            			    	    MismatchedSetException mse = new MismatchedSetException(null,input);
            			    	    Recover(mse);
            			    	    throw mse;}


            			    }
            			    break;

            			default:
            			    if ( cnt7 >= 1 ) goto loop7;
            		            EarlyExitException eee7 =
            		                new EarlyExitException(7, input);
            		            throw eee7;
            	    }
            	    cnt7++;
            	} while (true);

            	loop7:
            		;	// Stops C# compiler whining that label 'loop7' has no statements

            	 _channel = HIDDEN; 

            }

            state.type = _type;
            state.channel = _channel;
        }
        finally 
    	{
        }
    }
    // $ANTLR end "WS"

    // $ANTLR start "SL_COMMENT"
    public void mSL_COMMENT() // throws RecognitionException [2]
    {
    		try
    		{
            int _type = SL_COMMENT;
    	int _channel = DEFAULT_TOKEN_CHANNEL;
            // U:\\moxen\\projects\\Stijl\\trunk\\Open.Web.Stijl\\Css3.g:226:2: ( '//' (~ ( '\\n' | '\\r' ) )* ( '\\n' | '\\r' ( '\\n' )? ) )
            // U:\\moxen\\projects\\Stijl\\trunk\\Open.Web.Stijl\\Css3.g:226:4: '//' (~ ( '\\n' | '\\r' ) )* ( '\\n' | '\\r' ( '\\n' )? )
            {
            	Match("//"); 

            	// U:\\moxen\\projects\\Stijl\\trunk\\Open.Web.Stijl\\Css3.g:227:3: (~ ( '\\n' | '\\r' ) )*
            	do 
            	{
            	    int alt8 = 2;
            	    int LA8_0 = input.LA(1);

            	    if ( ((LA8_0 >= '\u0000' && LA8_0 <= '\t') || (LA8_0 >= '\u000B' && LA8_0 <= '\f') || (LA8_0 >= '\u000E' && LA8_0 <= '\uFFFF')) )
            	    {
            	        alt8 = 1;
            	    }


            	    switch (alt8) 
            		{
            			case 1 :
            			    // U:\\moxen\\projects\\Stijl\\trunk\\Open.Web.Stijl\\Css3.g:227:4: ~ ( '\\n' | '\\r' )
            			    {
            			    	if ( (input.LA(1) >= '\u0000' && input.LA(1) <= '\t') || (input.LA(1) >= '\u000B' && input.LA(1) <= '\f') || (input.LA(1) >= '\u000E' && input.LA(1) <= '\uFFFF') ) 
            			    	{
            			    	    input.Consume();

            			    	}
            			    	else 
            			    	{
            			    	    MismatchedSetException mse = new MismatchedSetException(null,input);
            			    	    Recover(mse);
            			    	    throw mse;}


            			    }
            			    break;

            			default:
            			    goto loop8;
            	    }
            	} while (true);

            	loop8:
            		;	// Stops C# compiler whining that label 'loop8' has no statements

            	// U:\\moxen\\projects\\Stijl\\trunk\\Open.Web.Stijl\\Css3.g:227:19: ( '\\n' | '\\r' ( '\\n' )? )
            	int alt10 = 2;
            	int LA10_0 = input.LA(1);

            	if ( (LA10_0 == '\n') )
            	{
            	    alt10 = 1;
            	}
            	else if ( (LA10_0 == '\r') )
            	{
            	    alt10 = 2;
            	}
            	else 
            	{
            	    NoViableAltException nvae_d10s0 =
            	        new NoViableAltException("", 10, 0, input);

            	    throw nvae_d10s0;
            	}
            	switch (alt10) 
            	{
            	    case 1 :
            	        // U:\\moxen\\projects\\Stijl\\trunk\\Open.Web.Stijl\\Css3.g:227:20: '\\n'
            	        {
            	        	Match('\n'); 

            	        }
            	        break;
            	    case 2 :
            	        // U:\\moxen\\projects\\Stijl\\trunk\\Open.Web.Stijl\\Css3.g:227:25: '\\r' ( '\\n' )?
            	        {
            	        	Match('\r'); 
            	        	// U:\\moxen\\projects\\Stijl\\trunk\\Open.Web.Stijl\\Css3.g:227:29: ( '\\n' )?
            	        	int alt9 = 2;
            	        	int LA9_0 = input.LA(1);

            	        	if ( (LA9_0 == '\n') )
            	        	{
            	        	    alt9 = 1;
            	        	}
            	        	switch (alt9) 
            	        	{
            	        	    case 1 :
            	        	        // U:\\moxen\\projects\\Stijl\\trunk\\Open.Web.Stijl\\Css3.g:227:30: '\\n'
            	        	        {
            	        	        	Match('\n'); 

            	        	        }
            	        	        break;

            	        	}


            	        }
            	        break;

            	}

            	_channel=HIDDEN;

            }

            state.type = _type;
            state.channel = _channel;
        }
        finally 
    	{
        }
    }
    // $ANTLR end "SL_COMMENT"

    // $ANTLR start "COMMENT"
    public void mCOMMENT() // throws RecognitionException [2]
    {
    		try
    		{
            int _type = COMMENT;
    	int _channel = DEFAULT_TOKEN_CHANNEL;
            // U:\\moxen\\projects\\Stijl\\trunk\\Open.Web.Stijl\\Css3.g:233:2: ( '/*' ( . )* '*/' )
            // U:\\moxen\\projects\\Stijl\\trunk\\Open.Web.Stijl\\Css3.g:233:4: '/*' ( . )* '*/'
            {
            	Match("/*"); 

            	// U:\\moxen\\projects\\Stijl\\trunk\\Open.Web.Stijl\\Css3.g:233:9: ( . )*
            	do 
            	{
            	    int alt11 = 2;
            	    int LA11_0 = input.LA(1);

            	    if ( (LA11_0 == '*') )
            	    {
            	        int LA11_1 = input.LA(2);

            	        if ( (LA11_1 == '/') )
            	        {
            	            alt11 = 2;
            	        }
            	        else if ( ((LA11_1 >= '\u0000' && LA11_1 <= '.') || (LA11_1 >= '0' && LA11_1 <= '\uFFFF')) )
            	        {
            	            alt11 = 1;
            	        }


            	    }
            	    else if ( ((LA11_0 >= '\u0000' && LA11_0 <= ')') || (LA11_0 >= '+' && LA11_0 <= '\uFFFF')) )
            	    {
            	        alt11 = 1;
            	    }


            	    switch (alt11) 
            		{
            			case 1 :
            			    // U:\\moxen\\projects\\Stijl\\trunk\\Open.Web.Stijl\\Css3.g:233:9: .
            			    {
            			    	MatchAny(); 

            			    }
            			    break;

            			default:
            			    goto loop11;
            	    }
            	} while (true);

            	loop11:
            		;	// Stops C# compiler whining that label 'loop11' has no statements

            	Match("*/"); 

            	 _channel = HIDDEN; 

            }

            state.type = _type;
            state.channel = _channel;
        }
        finally 
    	{
        }
    }
    // $ANTLR end "COMMENT"

    override public void mTokens() // throws RecognitionException 
    {
        // U:\\moxen\\projects\\Stijl\\trunk\\Open.Web.Stijl\\Css3.g:1:8: ( T__12 | T__13 | T__14 | T__15 | T__16 | T__17 | T__18 | T__19 | T__20 | T__21 | T__22 | T__23 | T__24 | T__25 | T__26 | T__27 | T__28 | T__29 | T__30 | IDENT | STRING | WS | SL_COMMENT | COMMENT )
        int alt12 = 24;
        alt12 = dfa12.Predict(input);
        switch (alt12) 
        {
            case 1 :
                // U:\\moxen\\projects\\Stijl\\trunk\\Open.Web.Stijl\\Css3.g:1:10: T__12
                {
                	mT__12(); 

                }
                break;
            case 2 :
                // U:\\moxen\\projects\\Stijl\\trunk\\Open.Web.Stijl\\Css3.g:1:16: T__13
                {
                	mT__13(); 

                }
                break;
            case 3 :
                // U:\\moxen\\projects\\Stijl\\trunk\\Open.Web.Stijl\\Css3.g:1:22: T__14
                {
                	mT__14(); 

                }
                break;
            case 4 :
                // U:\\moxen\\projects\\Stijl\\trunk\\Open.Web.Stijl\\Css3.g:1:28: T__15
                {
                	mT__15(); 

                }
                break;
            case 5 :
                // U:\\moxen\\projects\\Stijl\\trunk\\Open.Web.Stijl\\Css3.g:1:34: T__16
                {
                	mT__16(); 

                }
                break;
            case 6 :
                // U:\\moxen\\projects\\Stijl\\trunk\\Open.Web.Stijl\\Css3.g:1:40: T__17
                {
                	mT__17(); 

                }
                break;
            case 7 :
                // U:\\moxen\\projects\\Stijl\\trunk\\Open.Web.Stijl\\Css3.g:1:46: T__18
                {
                	mT__18(); 

                }
                break;
            case 8 :
                // U:\\moxen\\projects\\Stijl\\trunk\\Open.Web.Stijl\\Css3.g:1:52: T__19
                {
                	mT__19(); 

                }
                break;
            case 9 :
                // U:\\moxen\\projects\\Stijl\\trunk\\Open.Web.Stijl\\Css3.g:1:58: T__20
                {
                	mT__20(); 

                }
                break;
            case 10 :
                // U:\\moxen\\projects\\Stijl\\trunk\\Open.Web.Stijl\\Css3.g:1:64: T__21
                {
                	mT__21(); 

                }
                break;
            case 11 :
                // U:\\moxen\\projects\\Stijl\\trunk\\Open.Web.Stijl\\Css3.g:1:70: T__22
                {
                	mT__22(); 

                }
                break;
            case 12 :
                // U:\\moxen\\projects\\Stijl\\trunk\\Open.Web.Stijl\\Css3.g:1:76: T__23
                {
                	mT__23(); 

                }
                break;
            case 13 :
                // U:\\moxen\\projects\\Stijl\\trunk\\Open.Web.Stijl\\Css3.g:1:82: T__24
                {
                	mT__24(); 

                }
                break;
            case 14 :
                // U:\\moxen\\projects\\Stijl\\trunk\\Open.Web.Stijl\\Css3.g:1:88: T__25
                {
                	mT__25(); 

                }
                break;
            case 15 :
                // U:\\moxen\\projects\\Stijl\\trunk\\Open.Web.Stijl\\Css3.g:1:94: T__26
                {
                	mT__26(); 

                }
                break;
            case 16 :
                // U:\\moxen\\projects\\Stijl\\trunk\\Open.Web.Stijl\\Css3.g:1:100: T__27
                {
                	mT__27(); 

                }
                break;
            case 17 :
                // U:\\moxen\\projects\\Stijl\\trunk\\Open.Web.Stijl\\Css3.g:1:106: T__28
                {
                	mT__28(); 

                }
                break;
            case 18 :
                // U:\\moxen\\projects\\Stijl\\trunk\\Open.Web.Stijl\\Css3.g:1:112: T__29
                {
                	mT__29(); 

                }
                break;
            case 19 :
                // U:\\moxen\\projects\\Stijl\\trunk\\Open.Web.Stijl\\Css3.g:1:118: T__30
                {
                	mT__30(); 

                }
                break;
            case 20 :
                // U:\\moxen\\projects\\Stijl\\trunk\\Open.Web.Stijl\\Css3.g:1:124: IDENT
                {
                	mIDENT(); 

                }
                break;
            case 21 :
                // U:\\moxen\\projects\\Stijl\\trunk\\Open.Web.Stijl\\Css3.g:1:130: STRING
                {
                	mSTRING(); 

                }
                break;
            case 22 :
                // U:\\moxen\\projects\\Stijl\\trunk\\Open.Web.Stijl\\Css3.g:1:137: WS
                {
                	mWS(); 

                }
                break;
            case 23 :
                // U:\\moxen\\projects\\Stijl\\trunk\\Open.Web.Stijl\\Css3.g:1:140: SL_COMMENT
                {
                	mSL_COMMENT(); 

                }
                break;
            case 24 :
                // U:\\moxen\\projects\\Stijl\\trunk\\Open.Web.Stijl\\Css3.g:1:151: COMMENT
                {
                	mCOMMENT(); 

                }
                break;

        }

    }


    protected DFA12 dfa12;
	private void InitializeCyclicDFAs()
	{
	    this.dfa12 = new DFA12(this);
	    this.dfa12.specialStateTransitionHandler = new DFA.SpecialStateTransitionHandler(DFA12_SpecialStateTransition);
	}

    const string DFA12_eotS =
        "\x01\uffff\x01\x16\x04\uffff\x01\x18\x09\uffff\x01\x11\x08\uffff"+
        "\x01\x11\x03\uffff\x01\x11\x01\uffff";
    const string DFA12_eofS =
        "\x1f\uffff";
    const string DFA12_minS =
        "\x01\x09\x01\x69\x04\uffff\x01\x3a\x09\uffff\x01\x2a\x03\uffff"+
        "\x01\x6d\x04\uffff\x01\x00\x03\uffff\x01\x00\x01\uffff";
    const string DFA12_maxS =
        "\x01\ufffe\x01\x6d\x04\uffff\x01\x3a\x09\uffff\x01\x2f\x03\uffff"+
        "\x01\x6e\x04\uffff\x01\uffff\x03\uffff\x01\uffff\x01\uffff";
    const string DFA12_acceptS =
        "\x02\uffff\x01\x03\x01\x05\x01\x06\x01\x07\x01\uffff\x01\x0b\x01"+
        "\x0c\x01\x0d\x01\x0e\x01\x0f\x01\x10\x01\x11\x01\x12\x01\x13\x01"+
        "\uffff\x01\x14\x01\x15\x01\x16\x01\uffff\x01\x04\x01\x08\x01\x0a"+
        "\x01\x09\x01\uffff\x01\x18\x01\x01\x01\x02\x01\uffff\x01\x17";
    const string DFA12_specialS =
        "\x19\uffff\x01\x01\x03\uffff\x01\x00\x01\uffff}>";
    static readonly string[] DFA12_transitionS = {
            "\x02\x13\x01\uffff\x02\x13\x12\uffff\x01\x13\x01\x11\x01\x12"+
            "\x01\x11\x01\uffff\x01\x11\x01\uffff\x01\x12\x01\x0e\x01\x0f"+
            "\x01\uffff\x01\x08\x01\x05\x02\x11\x01\x10\x0a\x11\x01\x06\x01"+
            "\x02\x01\uffff\x01\x0b\x01\x07\x01\uffff\x01\x01\x1a\x11\x01"+
            "\x09\x01\uffff\x01\x0a\x01\uffff\x01\x11\x01\uffff\x1a\x11\x01"+
            "\x03\x01\x0d\x01\x04\x01\x0c\u0081\uffff\ufeff\x11",
            "\x01\x14\x03\uffff\x01\x15",
            "",
            "",
            "",
            "",
            "\x01\x17",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "\x01\x1a\x04\uffff\x01\x19",
            "",
            "",
            "",
            "\x01\x1b\x01\x1c",
            "",
            "",
            "",
            "",
            "\x21\x1e\x01\x1d\x01\x1e\x01\x1d\x01\x1e\x01\x1d\x07\x1e\x0d"+
            "\x1d\x07\x1e\x1a\x1d\x04\x1e\x01\x1d\x01\x1e\x1a\x1d\u0085\x1e"+
            "\ufeff\x1d\x01\x1e",
            "",
            "",
            "",
            "\x21\x1e\x01\x1d\x01\x1e\x01\x1d\x01\x1e\x01\x1d\x07\x1e\x0d"+
            "\x1d\x07\x1e\x1a\x1d\x04\x1e\x01\x1d\x01\x1e\x1a\x1d\u0085\x1e"+
            "\ufeff\x1d\x01\x1e",
            ""
    };

    static readonly short[] DFA12_eot = DFA.UnpackEncodedString(DFA12_eotS);
    static readonly short[] DFA12_eof = DFA.UnpackEncodedString(DFA12_eofS);
    static readonly char[] DFA12_min = DFA.UnpackEncodedStringToUnsignedChars(DFA12_minS);
    static readonly char[] DFA12_max = DFA.UnpackEncodedStringToUnsignedChars(DFA12_maxS);
    static readonly short[] DFA12_accept = DFA.UnpackEncodedString(DFA12_acceptS);
    static readonly short[] DFA12_special = DFA.UnpackEncodedString(DFA12_specialS);
    static readonly short[][] DFA12_transition = DFA.UnpackEncodedStringArray(DFA12_transitionS);

    protected class DFA12 : DFA
    {
        public DFA12(BaseRecognizer recognizer)
        {
            this.recognizer = recognizer;
            this.decisionNumber = 12;
            this.eot = DFA12_eot;
            this.eof = DFA12_eof;
            this.min = DFA12_min;
            this.max = DFA12_max;
            this.accept = DFA12_accept;
            this.special = DFA12_special;
            this.transition = DFA12_transition;

        }

        override public string Description
        {
            get { return "1:1: Tokens : ( T__12 | T__13 | T__14 | T__15 | T__16 | T__17 | T__18 | T__19 | T__20 | T__21 | T__22 | T__23 | T__24 | T__25 | T__26 | T__27 | T__28 | T__29 | T__30 | IDENT | STRING | WS | SL_COMMENT | COMMENT );"; }
        }

    }


    protected internal int DFA12_SpecialStateTransition(DFA dfa, int s, IIntStream _input) //throws NoViableAltException
    {
            IIntStream input = _input;
    	int _s = s;
        switch ( s )
        {
               	case 0 : 
                   	int LA12_29 = input.LA(1);

                   	s = -1;
                   	if ( (LA12_29 == '!' || LA12_29 == '#' || LA12_29 == '%' || (LA12_29 >= '-' && LA12_29 <= '9') || (LA12_29 >= 'A' && LA12_29 <= 'Z') || LA12_29 == '_' || (LA12_29 >= 'a' && LA12_29 <= 'z') || (LA12_29 >= '\u0100' && LA12_29 <= '\uFFFE')) ) { s = 29; }

                   	else if ( ((LA12_29 >= '\u0000' && LA12_29 <= ' ') || LA12_29 == '\"' || LA12_29 == '$' || (LA12_29 >= '&' && LA12_29 <= ',') || (LA12_29 >= ':' && LA12_29 <= '@') || (LA12_29 >= '[' && LA12_29 <= '^') || LA12_29 == '`' || (LA12_29 >= '{' && LA12_29 <= '\u00FF') || LA12_29 == '\uFFFF') ) { s = 30; }

                   	else s = 17;

                   	if ( s >= 0 ) return s;
                   	break;
               	case 1 : 
                   	int LA12_25 = input.LA(1);

                   	s = -1;
                   	if ( (LA12_25 == '!' || LA12_25 == '#' || LA12_25 == '%' || (LA12_25 >= '-' && LA12_25 <= '9') || (LA12_25 >= 'A' && LA12_25 <= 'Z') || LA12_25 == '_' || (LA12_25 >= 'a' && LA12_25 <= 'z') || (LA12_25 >= '\u0100' && LA12_25 <= '\uFFFE')) ) { s = 29; }

                   	else if ( ((LA12_25 >= '\u0000' && LA12_25 <= ' ') || LA12_25 == '\"' || LA12_25 == '$' || (LA12_25 >= '&' && LA12_25 <= ',') || (LA12_25 >= ':' && LA12_25 <= '@') || (LA12_25 >= '[' && LA12_25 <= '^') || LA12_25 == '`' || (LA12_25 >= '{' && LA12_25 <= '\u00FF') || LA12_25 == '\uFFFF') ) { s = 30; }

                   	else s = 17;

                   	if ( s >= 0 ) return s;
                   	break;
        }
        NoViableAltException nvae12 =
            new NoViableAltException(dfa.Description, 12, _s, input);
        dfa.Error(nvae12);
        throw nvae12;
    }
 
    
}
}